package com.github.wxpay.sdk;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;
import java.util.TreeMap;

import com.fs.common.util.FSHttp;
import com.fs.common.util.FSIDGenerate;
import com.fs.common.util.FSJson;
import com.fs.common.util.FSMD5;

public class TestWXPay {
	
	public static void testQrcode() {
		
	}
	
	public static void main(String[] args) {
		//testQrcode();
		//wxgj_clear_qcure
		Map<String, String> map = new HashMap<>();
		map.put("orgCode", "66600196");
		map.put("merchCode", "000088880000289");
		map.put("payType", "wxgj_clear_qcure");
		map.put("version", "V1.0");
		map.put("date_start", "20181201");
		map.put("date_end", "20181226");
		String url = "http://127.0.0.1:8099/trade/route";
		System.out.println(url);
		try {
			String sign =   "278067D5D95E568D07FA84F9600197FA"; //WXPayUtil.generateSignature(map, "66E0FE1058BA4E38AC6551BC78B7267E");
			System.out.println(sign);
			map.put("sign", sign);
			String jsonString = FSJson.toString(map);
			System.out.println(jsonString);
			String res = FSHttp.postJson(url, jsonString);
		}catch (Exception e) {
			// TODO: handle exception
		}
		
		
		
//		IWXPayDomain iwxpay = new IWXPayDomain() {
//
//			@Override
//			public void report(String domain, long elapsedTimeMillis, Exception ex) {
//				// TODO Auto-generated method stub
//				System.out.println("report:" +  domain + "," + ex.getMessage());
//			}
//
//			@Override
//			public DomainInfo getDomain(WXPayConfig config) {
//				// TODO Auto-generated method stub
//				DomainInfo domain = new DomainInfo("api.mch.weixin.qq.com", true);
//				return domain;
//			}
//			
//		};
//		
//		WXPayConfig wxpayconfig = new WXPayConfig() {
//
//			@Override
//			String getAppID() {
//				// TODO Auto-generated method stub
//				return "wx2ce2eddc9f96be5e";
//			}
//
//			@Override
//			String getMchID() {
//				// TODO Auto-generated method stub
//				return "1497668372";
//			}
//
//			@Override
//			String getKey() {
//				// TODO Auto-generated method stub
//				//return "Katieleewx2ce2eddc9f96be5eKatiel";
//				return "Katieleewx2ce2eddc9f96be5eKatie3";
//			}
//
//			@Override
//			InputStream getCertStream() {
//				// TODO Auto-generated method stub
//				
//				File file = new File("D:/apiclient_cert.p12");
//
//				InputStream input=null;
//				try {
//					input = new FileInputStream(file);
//				} catch (FileNotFoundException e) {
//					// TODO Auto-generated catch block
//					e.printStackTrace();
//				}
//				
//				return input;
//			}
//
//			@Override
//			IWXPayDomain getWXPayDomain() {
//				// TODO Auto-generated method stub
//				return iwxpay;
//			}
//			
//		};
//		
//		try {
//			WXPay wxpay = new WXPay(wxpayconfig, null, true, true);
//			Map<String, String> reqData = new TreeMap<String,String>();
//			//wxpay.fillRequestData(reqData);
//			
//			reqData.put("sub_mch_id", "1900000109");
//			reqData.put("body", "body");
//			reqData.put("out_trade_no", FSIDGenerate.nextOrderNo());
//			reqData.put("fee_type", "USD");
//			reqData.put("total_fee", "10");
//			reqData.put("spbill_create_ip", "127.0.0.1");
//			reqData.put("notify_url", "https://www.baidu.com");
//			reqData.put("trade_type", "JSAPI");
//			reqData.put("product_id", FSIDGenerate.nextOrderNo());
//			
//			System.out.println("isResponseSignatureValid:" +  wxpay.isResponseSignatureValid(reqData));
//			
//			//reqData.put("appid", value);
//			//wxpay.unifiedOrder(reqData);
//			
//			wxpay.orderQuery(reqData);
//			
//		} catch (Exception e) {
//			// TODO Auto-generated catch block
//			e.printStackTrace();
//		}
	}

}
